module IPFS.Multihash.HashType(fromCode,toCode,HashType(..),defLength) where
import Data.Maybe
import Prelude

import Data.Generic.Rep (class Generic)

data HashType = ID | SHA1 | SHA2_256 | SHA2_512
 | DBL_SHA2_256 | SHA3_224 | SHA3_256 | SHA3_384
 | SHA3_512 | SHAKE_128 | SHAKE_256 | KECCAK_224
 | KECCAK_256 | KECCAK_384 | KECCAK_512 | MURMUR3_128
 | BLAKE2B_8 | BLAKE2B_16 | BLAKE2B_24 | BLAKE2B_32
 | BLAKE2B_40 | BLAKE2B_48 | BLAKE2B_56 | BLAKE2B_64
 | BLAKE2B_72 | BLAKE2B_80 | BLAKE2B_88 | BLAKE2B_96
 | BLAKE2B_104 | BLAKE2B_112 | BLAKE2B_120 | BLAKE2B_128
 | BLAKE2B_136 | BLAKE2B_144 | BLAKE2B_152 | BLAKE2B_160
 | BLAKE2B_168 | BLAKE2B_176 | BLAKE2B_184 | BLAKE2B_192
 | BLAKE2B_200 | BLAKE2B_208 | BLAKE2B_216 | BLAKE2B_224
 | BLAKE2B_232 | BLAKE2B_240 | BLAKE2B_248 | BLAKE2B_256
 | BLAKE2B_264 | BLAKE2B_272 | BLAKE2B_280 | BLAKE2B_288
 | BLAKE2B_296 | BLAKE2B_304 | BLAKE2B_312 | BLAKE2B_320
 | BLAKE2B_328 | BLAKE2B_336 | BLAKE2B_344 | BLAKE2B_352
 | BLAKE2B_360 | BLAKE2B_368 | BLAKE2B_376 | BLAKE2B_384
 | BLAKE2B_392 | BLAKE2B_400 | BLAKE2B_408 | BLAKE2B_416
 | BLAKE2B_424 | BLAKE2B_432 | BLAKE2B_440 | BLAKE2B_448
 | BLAKE2B_456 | BLAKE2B_464 | BLAKE2B_472 | BLAKE2B_480
 | BLAKE2B_488 | BLAKE2B_496 | BLAKE2B_504 | BLAKE2B_512
 | BLAKE2S_8 | BLAKE2S_16 | BLAKE2S_24 | BLAKE2S_32
 | BLAKE2S_40 | BLAKE2S_48 | BLAKE2S_56 | BLAKE2S_64
 | BLAKE2S_72 | BLAKE2S_80 | BLAKE2S_88 | BLAKE2S_96
 | BLAKE2S_104 | BLAKE2S_112 | BLAKE2S_120 | BLAKE2S_128
 | BLAKE2S_136 | BLAKE2S_144 | BLAKE2S_152 | BLAKE2S_160
 | BLAKE2S_168 | BLAKE2S_176 | BLAKE2S_184 | BLAKE2S_192
 | BLAKE2S_200 | BLAKE2S_208 | BLAKE2S_216 | BLAKE2S_224
 | BLAKE2S_232 | BLAKE2S_240 | BLAKE2S_248 | BLAKE2S_256
 | SKEIN256_8 | SKEIN256_16 | SKEIN256_24 | SKEIN256_32
 | SKEIN256_40 | SKEIN256_48 | SKEIN256_56 | SKEIN256_64
 | SKEIN256_72 | SKEIN256_80 | SKEIN256_88 | SKEIN256_96
 | SKEIN256_104 | SKEIN256_112 | SKEIN256_120 | SKEIN256_128
 | SKEIN256_136 | SKEIN256_144 | SKEIN256_152 | SKEIN256_160
 | SKEIN256_168 | SKEIN256_176 | SKEIN256_184 | SKEIN256_192
 | SKEIN256_200 | SKEIN256_208 | SKEIN256_216 | SKEIN256_224
 | SKEIN256_232 | SKEIN256_240 | SKEIN256_248 | SKEIN256_256
 | SKEIN512_8 | SKEIN512_16 | SKEIN512_24 | SKEIN512_32
 | SKEIN512_40 | SKEIN512_48 | SKEIN512_56 | SKEIN512_64
 | SKEIN512_72 | SKEIN512_80 | SKEIN512_88 | SKEIN512_96
 | SKEIN512_104 | SKEIN512_112 | SKEIN512_120 | SKEIN512_128
 | SKEIN512_136 | SKEIN512_144 | SKEIN512_152 | SKEIN512_160
 | SKEIN512_168 | SKEIN512_176 | SKEIN512_184 | SKEIN512_192
 | SKEIN512_200 | SKEIN512_208 | SKEIN512_216 | SKEIN512_224
 | SKEIN512_232 | SKEIN512_240 | SKEIN512_248 | SKEIN512_256
 | SKEIN512_264 | SKEIN512_272 | SKEIN512_280 | SKEIN512_288
 | SKEIN512_296 | SKEIN512_304 | SKEIN512_312 | SKEIN512_320
 | SKEIN512_328 | SKEIN512_336 | SKEIN512_344 | SKEIN512_352
 | SKEIN512_360 | SKEIN512_368 | SKEIN512_376 | SKEIN512_384
 | SKEIN512_392 | SKEIN512_400 | SKEIN512_408 | SKEIN512_416
 | SKEIN512_424 | SKEIN512_432 | SKEIN512_440 | SKEIN512_448
 | SKEIN512_456 | SKEIN512_464 | SKEIN512_472 | SKEIN512_480
 | SKEIN512_488 | SKEIN512_496 | SKEIN512_504 | SKEIN512_512
 | SKEIN1024_8 | SKEIN1024_16 | SKEIN1024_24 | SKEIN1024_32
 | SKEIN1024_40 | SKEIN1024_48 | SKEIN1024_56 | SKEIN1024_64
 | SKEIN1024_72 | SKEIN1024_80 | SKEIN1024_88 | SKEIN1024_96
 | SKEIN1024_104 | SKEIN1024_112 | SKEIN1024_120 | SKEIN1024_128
 | SKEIN1024_136 | SKEIN1024_144 | SKEIN1024_152 | SKEIN1024_160
 | SKEIN1024_168 | SKEIN1024_176 | SKEIN1024_184 | SKEIN1024_192
 | SKEIN1024_200 | SKEIN1024_208 | SKEIN1024_216 | SKEIN1024_224
 | SKEIN1024_232 | SKEIN1024_240 | SKEIN1024_248 | SKEIN1024_256
 | SKEIN1024_264 | SKEIN1024_272 | SKEIN1024_280 | SKEIN1024_288
 | SKEIN1024_296 | SKEIN1024_304 | SKEIN1024_312 | SKEIN1024_320
 | SKEIN1024_328 | SKEIN1024_336 | SKEIN1024_344 | SKEIN1024_352
 | SKEIN1024_360 | SKEIN1024_368 | SKEIN1024_376 | SKEIN1024_384
 | SKEIN1024_392 | SKEIN1024_400 | SKEIN1024_408 | SKEIN1024_416
 | SKEIN1024_424 | SKEIN1024_432 | SKEIN1024_440 | SKEIN1024_448
 | SKEIN1024_456 | SKEIN1024_464 | SKEIN1024_472 | SKEIN1024_480
 | SKEIN1024_488 | SKEIN1024_496 | SKEIN1024_504 | SKEIN1024_512
 | SKEIN1024_520 | SKEIN1024_528 | SKEIN1024_536 | SKEIN1024_544
 | SKEIN1024_552 | SKEIN1024_560 | SKEIN1024_568 | SKEIN1024_576
 | SKEIN1024_584 | SKEIN1024_592 | SKEIN1024_600 | SKEIN1024_608
 | SKEIN1024_616 | SKEIN1024_624 | SKEIN1024_632 | SKEIN1024_640
 | SKEIN1024_648 | SKEIN1024_656 | SKEIN1024_664 | SKEIN1024_672
 | SKEIN1024_680 | SKEIN1024_688 | SKEIN1024_696 | SKEIN1024_704
 | SKEIN1024_712 | SKEIN1024_720 | SKEIN1024_728 | SKEIN1024_736
 | SKEIN1024_744 | SKEIN1024_752 | SKEIN1024_760 | SKEIN1024_768
 | SKEIN1024_776 | SKEIN1024_784 | SKEIN1024_792 | SKEIN1024_800
 | SKEIN1024_808 | SKEIN1024_816 | SKEIN1024_824 | SKEIN1024_832
 | SKEIN1024_840 | SKEIN1024_848 | SKEIN1024_856 | SKEIN1024_864
 | SKEIN1024_872 | SKEIN1024_880 | SKEIN1024_888 | SKEIN1024_896
 | SKEIN1024_904 | SKEIN1024_912 | SKEIN1024_920 | SKEIN1024_928
 | SKEIN1024_936 | SKEIN1024_944 | SKEIN1024_952 | SKEIN1024_960
 | SKEIN1024_968 | SKEIN1024_976 | SKEIN1024_984 | SKEIN1024_992
 | SKEIN1024_1000 | SKEIN1024_1008 | SKEIN1024_1016 | SKEIN1024_1024

instance showHashType :: Show HashType where
  show a = "HashType(" <> (show $ toCode a) <> ")"


toCode::HashType -> Int
toCode ID = 0x0
toCode SHA1 = 0x11
toCode SHA2_256 = 0x12
toCode SHA2_512 = 0x13
toCode DBL_SHA2_256 = 0x56
toCode SHA3_224 = 0x17
toCode SHA3_256 = 0x16
toCode SHA3_384 = 0x15
toCode SHA3_512 = 0x14
toCode SHAKE_128 = 0x18
toCode SHAKE_256 = 0x19
toCode KECCAK_224 = 0x1A
toCode KECCAK_256 = 0x1B
toCode KECCAK_384 = 0x1C
toCode KECCAK_512 = 0x1D
toCode MURMUR3_128 = 0x22
toCode BLAKE2B_8 = 0xb201
toCode BLAKE2B_16 = 0xb202
toCode BLAKE2B_24 = 0xb203
toCode BLAKE2B_32 = 0xb204
toCode BLAKE2B_40 = 0xb205
toCode BLAKE2B_48 = 0xb206
toCode BLAKE2B_56 = 0xb207
toCode BLAKE2B_64 = 0xb208
toCode BLAKE2B_72 = 0xb209
toCode BLAKE2B_80 = 0xb20a
toCode BLAKE2B_88 = 0xb20b
toCode BLAKE2B_96 = 0xb20c
toCode BLAKE2B_104 = 0xb20d
toCode BLAKE2B_112 = 0xb20e
toCode BLAKE2B_120 = 0xb20f
toCode BLAKE2B_128 = 0xb210
toCode BLAKE2B_136 = 0xb211
toCode BLAKE2B_144 = 0xb212
toCode BLAKE2B_152 = 0xb213
toCode BLAKE2B_160 = 0xb214
toCode BLAKE2B_168 = 0xb215
toCode BLAKE2B_176 = 0xb216
toCode BLAKE2B_184 = 0xb217
toCode BLAKE2B_192 = 0xb218
toCode BLAKE2B_200 = 0xb219
toCode BLAKE2B_208 = 0xb21a
toCode BLAKE2B_216 = 0xb21b
toCode BLAKE2B_224 = 0xb21c
toCode BLAKE2B_232 = 0xb21d
toCode BLAKE2B_240 = 0xb21e
toCode BLAKE2B_248 = 0xb21f
toCode BLAKE2B_256 = 0xb220
toCode BLAKE2B_264 = 0xb221
toCode BLAKE2B_272 = 0xb222
toCode BLAKE2B_280 = 0xb223
toCode BLAKE2B_288 = 0xb224
toCode BLAKE2B_296 = 0xb225
toCode BLAKE2B_304 = 0xb226
toCode BLAKE2B_312 = 0xb227
toCode BLAKE2B_320 = 0xb228
toCode BLAKE2B_328 = 0xb229
toCode BLAKE2B_336 = 0xb22a
toCode BLAKE2B_344 = 0xb22b
toCode BLAKE2B_352 = 0xb22c
toCode BLAKE2B_360 = 0xb22d
toCode BLAKE2B_368 = 0xb22e
toCode BLAKE2B_376 = 0xb22f
toCode BLAKE2B_384 = 0xb230
toCode BLAKE2B_392 = 0xb231
toCode BLAKE2B_400 = 0xb232
toCode BLAKE2B_408 = 0xb233
toCode BLAKE2B_416 = 0xb234
toCode BLAKE2B_424 = 0xb235
toCode BLAKE2B_432 = 0xb236
toCode BLAKE2B_440 = 0xb237
toCode BLAKE2B_448 = 0xb238
toCode BLAKE2B_456 = 0xb239
toCode BLAKE2B_464 = 0xb23a
toCode BLAKE2B_472 = 0xb23b
toCode BLAKE2B_480 = 0xb23c
toCode BLAKE2B_488 = 0xb23d
toCode BLAKE2B_496 = 0xb23e
toCode BLAKE2B_504 = 0xb23f
toCode BLAKE2B_512 = 0xb240
toCode BLAKE2S_8 = 0xb241
toCode BLAKE2S_16 = 0xb242
toCode BLAKE2S_24 = 0xb243
toCode BLAKE2S_32 = 0xb244
toCode BLAKE2S_40 = 0xb245
toCode BLAKE2S_48 = 0xb246
toCode BLAKE2S_56 = 0xb247
toCode BLAKE2S_64 = 0xb248
toCode BLAKE2S_72 = 0xb249
toCode BLAKE2S_80 = 0xb24a
toCode BLAKE2S_88 = 0xb24b
toCode BLAKE2S_96 = 0xb24c
toCode BLAKE2S_104 = 0xb24d
toCode BLAKE2S_112 = 0xb24e
toCode BLAKE2S_120 = 0xb24f
toCode BLAKE2S_128 = 0xb250
toCode BLAKE2S_136 = 0xb251
toCode BLAKE2S_144 = 0xb252
toCode BLAKE2S_152 = 0xb253
toCode BLAKE2S_160 = 0xb254
toCode BLAKE2S_168 = 0xb255
toCode BLAKE2S_176 = 0xb256
toCode BLAKE2S_184 = 0xb257
toCode BLAKE2S_192 = 0xb258
toCode BLAKE2S_200 = 0xb259
toCode BLAKE2S_208 = 0xb25a
toCode BLAKE2S_216 = 0xb25b
toCode BLAKE2S_224 = 0xb25c
toCode BLAKE2S_232 = 0xb25d
toCode BLAKE2S_240 = 0xb25e
toCode BLAKE2S_248 = 0xb25f
toCode BLAKE2S_256 = 0xb260
toCode SKEIN256_8 = 0xb301
toCode SKEIN256_16 = 0xb302
toCode SKEIN256_24 = 0xb303
toCode SKEIN256_32 = 0xb304
toCode SKEIN256_40 = 0xb305
toCode SKEIN256_48 = 0xb306
toCode SKEIN256_56 = 0xb307
toCode SKEIN256_64 = 0xb308
toCode SKEIN256_72 = 0xb309
toCode SKEIN256_80 = 0xb30a
toCode SKEIN256_88 = 0xb30b
toCode SKEIN256_96 = 0xb30c
toCode SKEIN256_104 = 0xb30d
toCode SKEIN256_112 = 0xb30e
toCode SKEIN256_120 = 0xb30f
toCode SKEIN256_128 = 0xb310
toCode SKEIN256_136 = 0xb311
toCode SKEIN256_144 = 0xb312
toCode SKEIN256_152 = 0xb313
toCode SKEIN256_160 = 0xb314
toCode SKEIN256_168 = 0xb315
toCode SKEIN256_176 = 0xb316
toCode SKEIN256_184 = 0xb317
toCode SKEIN256_192 = 0xb318
toCode SKEIN256_200 = 0xb319
toCode SKEIN256_208 = 0xb31a
toCode SKEIN256_216 = 0xb31b
toCode SKEIN256_224 = 0xb31c
toCode SKEIN256_232 = 0xb31d
toCode SKEIN256_240 = 0xb31e
toCode SKEIN256_248 = 0xb31f
toCode SKEIN256_256 = 0xb320
toCode SKEIN512_8 = 0xb321
toCode SKEIN512_16 = 0xb322
toCode SKEIN512_24 = 0xb323
toCode SKEIN512_32 = 0xb324
toCode SKEIN512_40 = 0xb325
toCode SKEIN512_48 = 0xb326
toCode SKEIN512_56 = 0xb327
toCode SKEIN512_64 = 0xb328
toCode SKEIN512_72 = 0xb329
toCode SKEIN512_80 = 0xb32a
toCode SKEIN512_88 = 0xb32b
toCode SKEIN512_96 = 0xb32c
toCode SKEIN512_104 = 0xb32d
toCode SKEIN512_112 = 0xb32e
toCode SKEIN512_120 = 0xb32f
toCode SKEIN512_128 = 0xb330
toCode SKEIN512_136 = 0xb331
toCode SKEIN512_144 = 0xb332
toCode SKEIN512_152 = 0xb333
toCode SKEIN512_160 = 0xb334
toCode SKEIN512_168 = 0xb335
toCode SKEIN512_176 = 0xb336
toCode SKEIN512_184 = 0xb337
toCode SKEIN512_192 = 0xb338
toCode SKEIN512_200 = 0xb339
toCode SKEIN512_208 = 0xb33a
toCode SKEIN512_216 = 0xb33b
toCode SKEIN512_224 = 0xb33c
toCode SKEIN512_232 = 0xb33d
toCode SKEIN512_240 = 0xb33e
toCode SKEIN512_248 = 0xb33f
toCode SKEIN512_256 = 0xb340
toCode SKEIN512_264 = 0xb341
toCode SKEIN512_272 = 0xb342
toCode SKEIN512_280 = 0xb343
toCode SKEIN512_288 = 0xb344
toCode SKEIN512_296 = 0xb345
toCode SKEIN512_304 = 0xb346
toCode SKEIN512_312 = 0xb347
toCode SKEIN512_320 = 0xb348
toCode SKEIN512_328 = 0xb349
toCode SKEIN512_336 = 0xb34a
toCode SKEIN512_344 = 0xb34b
toCode SKEIN512_352 = 0xb34c
toCode SKEIN512_360 = 0xb34d
toCode SKEIN512_368 = 0xb34e
toCode SKEIN512_376 = 0xb34f
toCode SKEIN512_384 = 0xb350
toCode SKEIN512_392 = 0xb351
toCode SKEIN512_400 = 0xb352
toCode SKEIN512_408 = 0xb353
toCode SKEIN512_416 = 0xb354
toCode SKEIN512_424 = 0xb355
toCode SKEIN512_432 = 0xb356
toCode SKEIN512_440 = 0xb357
toCode SKEIN512_448 = 0xb358
toCode SKEIN512_456 = 0xb359
toCode SKEIN512_464 = 0xb35a
toCode SKEIN512_472 = 0xb35b
toCode SKEIN512_480 = 0xb35c
toCode SKEIN512_488 = 0xb35d
toCode SKEIN512_496 = 0xb35e
toCode SKEIN512_504 = 0xb35f
toCode SKEIN512_512 = 0xb360
toCode SKEIN1024_8 = 0xb361
toCode SKEIN1024_16 = 0xb362
toCode SKEIN1024_24 = 0xb363
toCode SKEIN1024_32 = 0xb364
toCode SKEIN1024_40 = 0xb365
toCode SKEIN1024_48 = 0xb366
toCode SKEIN1024_56 = 0xb367
toCode SKEIN1024_64 = 0xb368
toCode SKEIN1024_72 = 0xb369
toCode SKEIN1024_80 = 0xb36a
toCode SKEIN1024_88 = 0xb36b
toCode SKEIN1024_96 = 0xb36c
toCode SKEIN1024_104 = 0xb36d
toCode SKEIN1024_112 = 0xb36e
toCode SKEIN1024_120 = 0xb36f
toCode SKEIN1024_128 = 0xb370
toCode SKEIN1024_136 = 0xb371
toCode SKEIN1024_144 = 0xb372
toCode SKEIN1024_152 = 0xb373
toCode SKEIN1024_160 = 0xb374
toCode SKEIN1024_168 = 0xb375
toCode SKEIN1024_176 = 0xb376
toCode SKEIN1024_184 = 0xb377
toCode SKEIN1024_192 = 0xb378
toCode SKEIN1024_200 = 0xb379
toCode SKEIN1024_208 = 0xb37a
toCode SKEIN1024_216 = 0xb37b
toCode SKEIN1024_224 = 0xb37c
toCode SKEIN1024_232 = 0xb37d
toCode SKEIN1024_240 = 0xb37e
toCode SKEIN1024_248 = 0xb37f
toCode SKEIN1024_256 = 0xb380
toCode SKEIN1024_264 = 0xb381
toCode SKEIN1024_272 = 0xb382
toCode SKEIN1024_280 = 0xb383
toCode SKEIN1024_288 = 0xb384
toCode SKEIN1024_296 = 0xb385
toCode SKEIN1024_304 = 0xb386
toCode SKEIN1024_312 = 0xb387
toCode SKEIN1024_320 = 0xb388
toCode SKEIN1024_328 = 0xb389
toCode SKEIN1024_336 = 0xb38a
toCode SKEIN1024_344 = 0xb38b
toCode SKEIN1024_352 = 0xb38c
toCode SKEIN1024_360 = 0xb38d
toCode SKEIN1024_368 = 0xb38e
toCode SKEIN1024_376 = 0xb38f
toCode SKEIN1024_384 = 0xb390
toCode SKEIN1024_392 = 0xb391
toCode SKEIN1024_400 = 0xb392
toCode SKEIN1024_408 = 0xb393
toCode SKEIN1024_416 = 0xb394
toCode SKEIN1024_424 = 0xb395
toCode SKEIN1024_432 = 0xb396
toCode SKEIN1024_440 = 0xb397
toCode SKEIN1024_448 = 0xb398
toCode SKEIN1024_456 = 0xb399
toCode SKEIN1024_464 = 0xb39a
toCode SKEIN1024_472 = 0xb39b
toCode SKEIN1024_480 = 0xb39c
toCode SKEIN1024_488 = 0xb39d
toCode SKEIN1024_496 = 0xb39e
toCode SKEIN1024_504 = 0xb39f
toCode SKEIN1024_512 = 0xb3a0
toCode SKEIN1024_520 = 0xb3a1
toCode SKEIN1024_528 = 0xb3a2
toCode SKEIN1024_536 = 0xb3a3
toCode SKEIN1024_544 = 0xb3a4
toCode SKEIN1024_552 = 0xb3a5
toCode SKEIN1024_560 = 0xb3a6
toCode SKEIN1024_568 = 0xb3a7
toCode SKEIN1024_576 = 0xb3a8
toCode SKEIN1024_584 = 0xb3a9
toCode SKEIN1024_592 = 0xb3aa
toCode SKEIN1024_600 = 0xb3ab
toCode SKEIN1024_608 = 0xb3ac
toCode SKEIN1024_616 = 0xb3ad
toCode SKEIN1024_624 = 0xb3ae
toCode SKEIN1024_632 = 0xb3af
toCode SKEIN1024_640 = 0xb3b0
toCode SKEIN1024_648 = 0xb3b1
toCode SKEIN1024_656 = 0xb3b2
toCode SKEIN1024_664 = 0xb3b3
toCode SKEIN1024_672 = 0xb3b4
toCode SKEIN1024_680 = 0xb3b5
toCode SKEIN1024_688 = 0xb3b6
toCode SKEIN1024_696 = 0xb3b7
toCode SKEIN1024_704 = 0xb3b8
toCode SKEIN1024_712 = 0xb3b9
toCode SKEIN1024_720 = 0xb3ba
toCode SKEIN1024_728 = 0xb3bb
toCode SKEIN1024_736 = 0xb3bc
toCode SKEIN1024_744 = 0xb3bd
toCode SKEIN1024_752 = 0xb3be
toCode SKEIN1024_760 = 0xb3bf
toCode SKEIN1024_768 = 0xb3c0
toCode SKEIN1024_776 = 0xb3c1
toCode SKEIN1024_784 = 0xb3c2
toCode SKEIN1024_792 = 0xb3c3
toCode SKEIN1024_800 = 0xb3c4
toCode SKEIN1024_808 = 0xb3c5
toCode SKEIN1024_816 = 0xb3c6
toCode SKEIN1024_824 = 0xb3c7
toCode SKEIN1024_832 = 0xb3c8
toCode SKEIN1024_840 = 0xb3c9
toCode SKEIN1024_848 = 0xb3ca
toCode SKEIN1024_856 = 0xb3cb
toCode SKEIN1024_864 = 0xb3cc
toCode SKEIN1024_872 = 0xb3cd
toCode SKEIN1024_880 = 0xb3ce
toCode SKEIN1024_888 = 0xb3cf
toCode SKEIN1024_896 = 0xb3d0
toCode SKEIN1024_904 = 0xb3d1
toCode SKEIN1024_912 = 0xb3d2
toCode SKEIN1024_920 = 0xb3d3
toCode SKEIN1024_928 = 0xb3d4
toCode SKEIN1024_936 = 0xb3d5
toCode SKEIN1024_944 = 0xb3d6
toCode SKEIN1024_952 = 0xb3d7
toCode SKEIN1024_960 = 0xb3d8
toCode SKEIN1024_968 = 0xb3d9
toCode SKEIN1024_976 = 0xb3da
toCode SKEIN1024_984 = 0xb3db
toCode SKEIN1024_992 = 0xb3dc
toCode SKEIN1024_1000 = 0xb3dd
toCode SKEIN1024_1008 = 0xb3de
toCode SKEIN1024_1016 = 0xb3df
toCode SKEIN1024_1024 = 0xb3e0


fromCode::Int -> Maybe HashType
fromCode 0x0 = Just ID
fromCode 0x11 = Just SHA1
fromCode 0x12 = Just SHA2_256
fromCode 0x13 = Just SHA2_512
fromCode 0x56 = Just DBL_SHA2_256
fromCode 0x17 = Just SHA3_224
fromCode 0x16 = Just SHA3_256
fromCode 0x15 = Just SHA3_384
fromCode 0x14 = Just SHA3_512
fromCode 0x18 = Just SHAKE_128
fromCode 0x19 = Just SHAKE_256
fromCode 0x1A = Just KECCAK_224
fromCode 0x1B = Just KECCAK_256
fromCode 0x1C = Just KECCAK_384
fromCode 0x1D = Just KECCAK_512
fromCode 0x22 = Just MURMUR3_128
fromCode 0xb201 = Just BLAKE2B_8
fromCode 0xb202 = Just BLAKE2B_16
fromCode 0xb203 = Just BLAKE2B_24
fromCode 0xb204 = Just BLAKE2B_32
fromCode 0xb205 = Just BLAKE2B_40
fromCode 0xb206 = Just BLAKE2B_48
fromCode 0xb207 = Just BLAKE2B_56
fromCode 0xb208 = Just BLAKE2B_64
fromCode 0xb209 = Just BLAKE2B_72
fromCode 0xb20a = Just BLAKE2B_80
fromCode 0xb20b = Just BLAKE2B_88
fromCode 0xb20c = Just BLAKE2B_96
fromCode 0xb20d = Just BLAKE2B_104
fromCode 0xb20e = Just BLAKE2B_112
fromCode 0xb20f = Just BLAKE2B_120
fromCode 0xb210 = Just BLAKE2B_128
fromCode 0xb211 = Just BLAKE2B_136
fromCode 0xb212 = Just BLAKE2B_144
fromCode 0xb213 = Just BLAKE2B_152
fromCode 0xb214 = Just BLAKE2B_160
fromCode 0xb215 = Just BLAKE2B_168
fromCode 0xb216 = Just BLAKE2B_176
fromCode 0xb217 = Just BLAKE2B_184
fromCode 0xb218 = Just BLAKE2B_192
fromCode 0xb219 = Just BLAKE2B_200
fromCode 0xb21a = Just BLAKE2B_208
fromCode 0xb21b = Just BLAKE2B_216
fromCode 0xb21c = Just BLAKE2B_224
fromCode 0xb21d = Just BLAKE2B_232
fromCode 0xb21e = Just BLAKE2B_240
fromCode 0xb21f = Just BLAKE2B_248
fromCode 0xb220 = Just BLAKE2B_256
fromCode 0xb221 = Just BLAKE2B_264
fromCode 0xb222 = Just BLAKE2B_272
fromCode 0xb223 = Just BLAKE2B_280
fromCode 0xb224 = Just BLAKE2B_288
fromCode 0xb225 = Just BLAKE2B_296
fromCode 0xb226 = Just BLAKE2B_304
fromCode 0xb227 = Just BLAKE2B_312
fromCode 0xb228 = Just BLAKE2B_320
fromCode 0xb229 = Just BLAKE2B_328
fromCode 0xb22a = Just BLAKE2B_336
fromCode 0xb22b = Just BLAKE2B_344
fromCode 0xb22c = Just BLAKE2B_352
fromCode 0xb22d = Just BLAKE2B_360
fromCode 0xb22e = Just BLAKE2B_368
fromCode 0xb22f = Just BLAKE2B_376
fromCode 0xb230 = Just BLAKE2B_384
fromCode 0xb231 = Just BLAKE2B_392
fromCode 0xb232 = Just BLAKE2B_400
fromCode 0xb233 = Just BLAKE2B_408
fromCode 0xb234 = Just BLAKE2B_416
fromCode 0xb235 = Just BLAKE2B_424
fromCode 0xb236 = Just BLAKE2B_432
fromCode 0xb237 = Just BLAKE2B_440
fromCode 0xb238 = Just BLAKE2B_448
fromCode 0xb239 = Just BLAKE2B_456
fromCode 0xb23a = Just BLAKE2B_464
fromCode 0xb23b = Just BLAKE2B_472
fromCode 0xb23c = Just BLAKE2B_480
fromCode 0xb23d = Just BLAKE2B_488
fromCode 0xb23e = Just BLAKE2B_496
fromCode 0xb23f = Just BLAKE2B_504
fromCode 0xb240 = Just BLAKE2B_512
fromCode 0xb241 = Just BLAKE2S_8
fromCode 0xb242 = Just BLAKE2S_16
fromCode 0xb243 = Just BLAKE2S_24
fromCode 0xb244 = Just BLAKE2S_32
fromCode 0xb245 = Just BLAKE2S_40
fromCode 0xb246 = Just BLAKE2S_48
fromCode 0xb247 = Just BLAKE2S_56
fromCode 0xb248 = Just BLAKE2S_64
fromCode 0xb249 = Just BLAKE2S_72
fromCode 0xb24a = Just BLAKE2S_80
fromCode 0xb24b = Just BLAKE2S_88
fromCode 0xb24c = Just BLAKE2S_96
fromCode 0xb24d = Just BLAKE2S_104
fromCode 0xb24e = Just BLAKE2S_112
fromCode 0xb24f = Just BLAKE2S_120
fromCode 0xb250 = Just BLAKE2S_128
fromCode 0xb251 = Just BLAKE2S_136
fromCode 0xb252 = Just BLAKE2S_144
fromCode 0xb253 = Just BLAKE2S_152
fromCode 0xb254 = Just BLAKE2S_160
fromCode 0xb255 = Just BLAKE2S_168
fromCode 0xb256 = Just BLAKE2S_176
fromCode 0xb257 = Just BLAKE2S_184
fromCode 0xb258 = Just BLAKE2S_192
fromCode 0xb259 = Just BLAKE2S_200
fromCode 0xb25a = Just BLAKE2S_208
fromCode 0xb25b = Just BLAKE2S_216
fromCode 0xb25c = Just BLAKE2S_224
fromCode 0xb25d = Just BLAKE2S_232
fromCode 0xb25e = Just BLAKE2S_240
fromCode 0xb25f = Just BLAKE2S_248
fromCode 0xb260 = Just BLAKE2S_256
fromCode 0xb301 = Just SKEIN256_8
fromCode 0xb302 = Just SKEIN256_16
fromCode 0xb303 = Just SKEIN256_24
fromCode 0xb304 = Just SKEIN256_32
fromCode 0xb305 = Just SKEIN256_40
fromCode 0xb306 = Just SKEIN256_48
fromCode 0xb307 = Just SKEIN256_56
fromCode 0xb308 = Just SKEIN256_64
fromCode 0xb309 = Just SKEIN256_72
fromCode 0xb30a = Just SKEIN256_80
fromCode 0xb30b = Just SKEIN256_88
fromCode 0xb30c = Just SKEIN256_96
fromCode 0xb30d = Just SKEIN256_104
fromCode 0xb30e = Just SKEIN256_112
fromCode 0xb30f = Just SKEIN256_120
fromCode 0xb310 = Just SKEIN256_128
fromCode 0xb311 = Just SKEIN256_136
fromCode 0xb312 = Just SKEIN256_144
fromCode 0xb313 = Just SKEIN256_152
fromCode 0xb314 = Just SKEIN256_160
fromCode 0xb315 = Just SKEIN256_168
fromCode 0xb316 = Just SKEIN256_176
fromCode 0xb317 = Just SKEIN256_184
fromCode 0xb318 = Just SKEIN256_192
fromCode 0xb319 = Just SKEIN256_200
fromCode 0xb31a = Just SKEIN256_208
fromCode 0xb31b = Just SKEIN256_216
fromCode 0xb31c = Just SKEIN256_224
fromCode 0xb31d = Just SKEIN256_232
fromCode 0xb31e = Just SKEIN256_240
fromCode 0xb31f = Just SKEIN256_248
fromCode 0xb320 = Just SKEIN256_256
fromCode 0xb321 = Just SKEIN512_8
fromCode 0xb322 = Just SKEIN512_16
fromCode 0xb323 = Just SKEIN512_24
fromCode 0xb324 = Just SKEIN512_32
fromCode 0xb325 = Just SKEIN512_40
fromCode 0xb326 = Just SKEIN512_48
fromCode 0xb327 = Just SKEIN512_56
fromCode 0xb328 = Just SKEIN512_64
fromCode 0xb329 = Just SKEIN512_72
fromCode 0xb32a = Just SKEIN512_80
fromCode 0xb32b = Just SKEIN512_88
fromCode 0xb32c = Just SKEIN512_96
fromCode 0xb32d = Just SKEIN512_104
fromCode 0xb32e = Just SKEIN512_112
fromCode 0xb32f = Just SKEIN512_120
fromCode 0xb330 = Just SKEIN512_128
fromCode 0xb331 = Just SKEIN512_136
fromCode 0xb332 = Just SKEIN512_144
fromCode 0xb333 = Just SKEIN512_152
fromCode 0xb334 = Just SKEIN512_160
fromCode 0xb335 = Just SKEIN512_168
fromCode 0xb336 = Just SKEIN512_176
fromCode 0xb337 = Just SKEIN512_184
fromCode 0xb338 = Just SKEIN512_192
fromCode 0xb339 = Just SKEIN512_200
fromCode 0xb33a = Just SKEIN512_208
fromCode 0xb33b = Just SKEIN512_216
fromCode 0xb33c = Just SKEIN512_224
fromCode 0xb33d = Just SKEIN512_232
fromCode 0xb33e = Just SKEIN512_240
fromCode 0xb33f = Just SKEIN512_248
fromCode 0xb340 = Just SKEIN512_256
fromCode 0xb341 = Just SKEIN512_264
fromCode 0xb342 = Just SKEIN512_272
fromCode 0xb343 = Just SKEIN512_280
fromCode 0xb344 = Just SKEIN512_288
fromCode 0xb345 = Just SKEIN512_296
fromCode 0xb346 = Just SKEIN512_304
fromCode 0xb347 = Just SKEIN512_312
fromCode 0xb348 = Just SKEIN512_320
fromCode 0xb349 = Just SKEIN512_328
fromCode 0xb34a = Just SKEIN512_336
fromCode 0xb34b = Just SKEIN512_344
fromCode 0xb34c = Just SKEIN512_352
fromCode 0xb34d = Just SKEIN512_360
fromCode 0xb34e = Just SKEIN512_368
fromCode 0xb34f = Just SKEIN512_376
fromCode 0xb350 = Just SKEIN512_384
fromCode 0xb351 = Just SKEIN512_392
fromCode 0xb352 = Just SKEIN512_400
fromCode 0xb353 = Just SKEIN512_408
fromCode 0xb354 = Just SKEIN512_416
fromCode 0xb355 = Just SKEIN512_424
fromCode 0xb356 = Just SKEIN512_432
fromCode 0xb357 = Just SKEIN512_440
fromCode 0xb358 = Just SKEIN512_448
fromCode 0xb359 = Just SKEIN512_456
fromCode 0xb35a = Just SKEIN512_464
fromCode 0xb35b = Just SKEIN512_472
fromCode 0xb35c = Just SKEIN512_480
fromCode 0xb35d = Just SKEIN512_488
fromCode 0xb35e = Just SKEIN512_496
fromCode 0xb35f = Just SKEIN512_504
fromCode 0xb360 = Just SKEIN512_512
fromCode 0xb361 = Just SKEIN1024_8
fromCode 0xb362 = Just SKEIN1024_16
fromCode 0xb363 = Just SKEIN1024_24
fromCode 0xb364 = Just SKEIN1024_32
fromCode 0xb365 = Just SKEIN1024_40
fromCode 0xb366 = Just SKEIN1024_48
fromCode 0xb367 = Just SKEIN1024_56
fromCode 0xb368 = Just SKEIN1024_64
fromCode 0xb369 = Just SKEIN1024_72
fromCode 0xb36a = Just SKEIN1024_80
fromCode 0xb36b = Just SKEIN1024_88
fromCode 0xb36c = Just SKEIN1024_96
fromCode 0xb36d = Just SKEIN1024_104
fromCode 0xb36e = Just SKEIN1024_112
fromCode 0xb36f = Just SKEIN1024_120
fromCode 0xb370 = Just SKEIN1024_128
fromCode 0xb371 = Just SKEIN1024_136
fromCode 0xb372 = Just SKEIN1024_144
fromCode 0xb373 = Just SKEIN1024_152
fromCode 0xb374 = Just SKEIN1024_160
fromCode 0xb375 = Just SKEIN1024_168
fromCode 0xb376 = Just SKEIN1024_176
fromCode 0xb377 = Just SKEIN1024_184
fromCode 0xb378 = Just SKEIN1024_192
fromCode 0xb379 = Just SKEIN1024_200
fromCode 0xb37a = Just SKEIN1024_208
fromCode 0xb37b = Just SKEIN1024_216
fromCode 0xb37c = Just SKEIN1024_224
fromCode 0xb37d = Just SKEIN1024_232
fromCode 0xb37e = Just SKEIN1024_240
fromCode 0xb37f = Just SKEIN1024_248
fromCode 0xb380 = Just SKEIN1024_256
fromCode 0xb381 = Just SKEIN1024_264
fromCode 0xb382 = Just SKEIN1024_272
fromCode 0xb383 = Just SKEIN1024_280
fromCode 0xb384 = Just SKEIN1024_288
fromCode 0xb385 = Just SKEIN1024_296
fromCode 0xb386 = Just SKEIN1024_304
fromCode 0xb387 = Just SKEIN1024_312
fromCode 0xb388 = Just SKEIN1024_320
fromCode 0xb389 = Just SKEIN1024_328
fromCode 0xb38a = Just SKEIN1024_336
fromCode 0xb38b = Just SKEIN1024_344
fromCode 0xb38c = Just SKEIN1024_352
fromCode 0xb38d = Just SKEIN1024_360
fromCode 0xb38e = Just SKEIN1024_368
fromCode 0xb38f = Just SKEIN1024_376
fromCode 0xb390 = Just SKEIN1024_384
fromCode 0xb391 = Just SKEIN1024_392
fromCode 0xb392 = Just SKEIN1024_400
fromCode 0xb393 = Just SKEIN1024_408
fromCode 0xb394 = Just SKEIN1024_416
fromCode 0xb395 = Just SKEIN1024_424
fromCode 0xb396 = Just SKEIN1024_432
fromCode 0xb397 = Just SKEIN1024_440
fromCode 0xb398 = Just SKEIN1024_448
fromCode 0xb399 = Just SKEIN1024_456
fromCode 0xb39a = Just SKEIN1024_464
fromCode 0xb39b = Just SKEIN1024_472
fromCode 0xb39c = Just SKEIN1024_480
fromCode 0xb39d = Just SKEIN1024_488
fromCode 0xb39e = Just SKEIN1024_496
fromCode 0xb39f = Just SKEIN1024_504
fromCode 0xb3a0 = Just SKEIN1024_512
fromCode 0xb3a1 = Just SKEIN1024_520
fromCode 0xb3a2 = Just SKEIN1024_528
fromCode 0xb3a3 = Just SKEIN1024_536
fromCode 0xb3a4 = Just SKEIN1024_544
fromCode 0xb3a5 = Just SKEIN1024_552
fromCode 0xb3a6 = Just SKEIN1024_560
fromCode 0xb3a7 = Just SKEIN1024_568
fromCode 0xb3a8 = Just SKEIN1024_576
fromCode 0xb3a9 = Just SKEIN1024_584
fromCode 0xb3aa = Just SKEIN1024_592
fromCode 0xb3ab = Just SKEIN1024_600
fromCode 0xb3ac = Just SKEIN1024_608
fromCode 0xb3ad = Just SKEIN1024_616
fromCode 0xb3ae = Just SKEIN1024_624
fromCode 0xb3af = Just SKEIN1024_632
fromCode 0xb3b0 = Just SKEIN1024_640
fromCode 0xb3b1 = Just SKEIN1024_648
fromCode 0xb3b2 = Just SKEIN1024_656
fromCode 0xb3b3 = Just SKEIN1024_664
fromCode 0xb3b4 = Just SKEIN1024_672
fromCode 0xb3b5 = Just SKEIN1024_680
fromCode 0xb3b6 = Just SKEIN1024_688
fromCode 0xb3b7 = Just SKEIN1024_696
fromCode 0xb3b8 = Just SKEIN1024_704
fromCode 0xb3b9 = Just SKEIN1024_712
fromCode 0xb3ba = Just SKEIN1024_720
fromCode 0xb3bb = Just SKEIN1024_728
fromCode 0xb3bc = Just SKEIN1024_736
fromCode 0xb3bd = Just SKEIN1024_744
fromCode 0xb3be = Just SKEIN1024_752
fromCode 0xb3bf = Just SKEIN1024_760
fromCode 0xb3c0 = Just SKEIN1024_768
fromCode 0xb3c1 = Just SKEIN1024_776
fromCode 0xb3c2 = Just SKEIN1024_784
fromCode 0xb3c3 = Just SKEIN1024_792
fromCode 0xb3c4 = Just SKEIN1024_800
fromCode 0xb3c5 = Just SKEIN1024_808
fromCode 0xb3c6 = Just SKEIN1024_816
fromCode 0xb3c7 = Just SKEIN1024_824
fromCode 0xb3c8 = Just SKEIN1024_832
fromCode 0xb3c9 = Just SKEIN1024_840
fromCode 0xb3ca = Just SKEIN1024_848
fromCode 0xb3cb = Just SKEIN1024_856
fromCode 0xb3cc = Just SKEIN1024_864
fromCode 0xb3cd = Just SKEIN1024_872
fromCode 0xb3ce = Just SKEIN1024_880
fromCode 0xb3cf = Just SKEIN1024_888
fromCode 0xb3d0 = Just SKEIN1024_896
fromCode 0xb3d1 = Just SKEIN1024_904
fromCode 0xb3d2 = Just SKEIN1024_912
fromCode 0xb3d3 = Just SKEIN1024_920
fromCode 0xb3d4 = Just SKEIN1024_928
fromCode 0xb3d5 = Just SKEIN1024_936
fromCode 0xb3d6 = Just SKEIN1024_944
fromCode 0xb3d7 = Just SKEIN1024_952
fromCode 0xb3d8 = Just SKEIN1024_960
fromCode 0xb3d9 = Just SKEIN1024_968
fromCode 0xb3da = Just SKEIN1024_976
fromCode 0xb3db = Just SKEIN1024_984
fromCode 0xb3dc = Just SKEIN1024_992
fromCode 0xb3dd = Just SKEIN1024_1000
fromCode 0xb3de = Just SKEIN1024_1008
fromCode 0xb3df = Just SKEIN1024_1016
fromCode 0xb3e0 = Just SKEIN1024_1024
fromCode _ = Nothing



defLength::HashType -> Int
defLength ID =  0
defLength SHA1 = 20 
defLength SHA2_256 = 32 
defLength SHA2_512 = 64 
defLength DBL_SHA2_256 = 32 
defLength SHA3_224 = 28 
defLength SHA3_256 = 32 
defLength SHA3_384 = 48 
defLength SHA3_512 = 64 
defLength SHAKE_128 = 32 
defLength SHAKE_256 = 64 
defLength KECCAK_224 = 28 
defLength KECCAK_256 = 32 
defLength KECCAK_384 = 48 
defLength KECCAK_512 = 64 
defLength MURMUR3_128 = 32 
defLength BLAKE2B_8 = 0x01 
defLength BLAKE2B_16 = 0x02 
defLength BLAKE2B_24 = 0x03 
defLength BLAKE2B_32 = 0x04 
defLength BLAKE2B_40 = 0x05 
defLength BLAKE2B_48 = 0x06 
defLength BLAKE2B_56 = 0x07 
defLength BLAKE2B_64 = 0x08 
defLength BLAKE2B_72 = 0x09 
defLength BLAKE2B_80 = 0x0a 
defLength BLAKE2B_88 = 0x0b 
defLength BLAKE2B_96 = 0x0c 
defLength BLAKE2B_104 = 0x0d 
defLength BLAKE2B_112 = 0x0e 
defLength BLAKE2B_120 = 0x0f 
defLength BLAKE2B_128 = 0x10 
defLength BLAKE2B_136 = 0x11 
defLength BLAKE2B_144 = 0x12 
defLength BLAKE2B_152 = 0x13 
defLength BLAKE2B_160 = 0x14 
defLength BLAKE2B_168 = 0x15 
defLength BLAKE2B_176 = 0x16 
defLength BLAKE2B_184 = 0x17 
defLength BLAKE2B_192 = 0x18 
defLength BLAKE2B_200 = 0x19 
defLength BLAKE2B_208 = 0x1a 
defLength BLAKE2B_216 = 0x1b 
defLength BLAKE2B_224 = 0x1c 
defLength BLAKE2B_232 = 0x1d 
defLength BLAKE2B_240 = 0x1e 
defLength BLAKE2B_248 = 0x1f 
defLength BLAKE2B_256 = 0x20 
defLength BLAKE2B_264 = 0x21 
defLength BLAKE2B_272 = 0x22 
defLength BLAKE2B_280 = 0x23 
defLength BLAKE2B_288 = 0x24 
defLength BLAKE2B_296 = 0x25 
defLength BLAKE2B_304 = 0x26 
defLength BLAKE2B_312 = 0x27 
defLength BLAKE2B_320 = 0x28 
defLength BLAKE2B_328 = 0x29 
defLength BLAKE2B_336 = 0x2a 
defLength BLAKE2B_344 = 0x2b 
defLength BLAKE2B_352 = 0x2c 
defLength BLAKE2B_360 = 0x2d 
defLength BLAKE2B_368 = 0x2e 
defLength BLAKE2B_376 = 0x2f 
defLength BLAKE2B_384 = 0x30 
defLength BLAKE2B_392 = 0x31 
defLength BLAKE2B_400 = 0x32 
defLength BLAKE2B_408 = 0x33 
defLength BLAKE2B_416 = 0x34 
defLength BLAKE2B_424 = 0x35 
defLength BLAKE2B_432 = 0x36 
defLength BLAKE2B_440 = 0x37 
defLength BLAKE2B_448 = 0x38 
defLength BLAKE2B_456 = 0x39 
defLength BLAKE2B_464 = 0x3a 
defLength BLAKE2B_472 = 0x3b 
defLength BLAKE2B_480 = 0x3c 
defLength BLAKE2B_488 = 0x3d 
defLength BLAKE2B_496 = 0x3e 
defLength BLAKE2B_504 = 0x3f 
defLength BLAKE2B_512 = 0x40 
defLength BLAKE2S_8 = 0x01 
defLength BLAKE2S_16 = 0x02 
defLength BLAKE2S_24 = 0x03 
defLength BLAKE2S_32 = 0x04 
defLength BLAKE2S_40 = 0x05 
defLength BLAKE2S_48 = 0x06 
defLength BLAKE2S_56 = 0x07 
defLength BLAKE2S_64 = 0x08 
defLength BLAKE2S_72 = 0x09 
defLength BLAKE2S_80 = 0x0a 
defLength BLAKE2S_88 = 0x0b 
defLength BLAKE2S_96 = 0x0c 
defLength BLAKE2S_104 = 0x0d 
defLength BLAKE2S_112 = 0x0e 
defLength BLAKE2S_120 = 0x0f 
defLength BLAKE2S_128 = 0x10 
defLength BLAKE2S_136 = 0x11 
defLength BLAKE2S_144 = 0x12 
defLength BLAKE2S_152 = 0x13 
defLength BLAKE2S_160 = 0x14 
defLength BLAKE2S_168 = 0x15 
defLength BLAKE2S_176 = 0x16 
defLength BLAKE2S_184 = 0x17 
defLength BLAKE2S_192 = 0x18 
defLength BLAKE2S_200 = 0x19 
defLength BLAKE2S_208 = 0x1a 
defLength BLAKE2S_216 = 0x1b 
defLength BLAKE2S_224 = 0x1c 
defLength BLAKE2S_232 = 0x1d 
defLength BLAKE2S_240 = 0x1e 
defLength BLAKE2S_248 = 0x1f 
defLength BLAKE2S_256 = 0x20 
defLength SKEIN256_8 = 0x01 
defLength SKEIN256_16 = 0x02 
defLength SKEIN256_24 = 0x03 
defLength SKEIN256_32 = 0x04 
defLength SKEIN256_40 = 0x05 
defLength SKEIN256_48 = 0x06 
defLength SKEIN256_56 = 0x07 
defLength SKEIN256_64 = 0x08 
defLength SKEIN256_72 = 0x09 
defLength SKEIN256_80 = 0x0a 
defLength SKEIN256_88 = 0x0b 
defLength SKEIN256_96 = 0x0c 
defLength SKEIN256_104 = 0x0d 
defLength SKEIN256_112 = 0x0e 
defLength SKEIN256_120 = 0x0f 
defLength SKEIN256_128 = 0x10 
defLength SKEIN256_136 = 0x11 
defLength SKEIN256_144 = 0x12 
defLength SKEIN256_152 = 0x13 
defLength SKEIN256_160 = 0x14 
defLength SKEIN256_168 = 0x15 
defLength SKEIN256_176 = 0x16 
defLength SKEIN256_184 = 0x17 
defLength SKEIN256_192 = 0x18 
defLength SKEIN256_200 = 0x19 
defLength SKEIN256_208 = 0x1a 
defLength SKEIN256_216 = 0x1b 
defLength SKEIN256_224 = 0x1c 
defLength SKEIN256_232 = 0x1d 
defLength SKEIN256_240 = 0x1e 
defLength SKEIN256_248 = 0x1f 
defLength SKEIN256_256 = 0x20 
defLength SKEIN512_8 = 0x01 
defLength SKEIN512_16 = 0x02 
defLength SKEIN512_24 = 0x03 
defLength SKEIN512_32 = 0x04 
defLength SKEIN512_40 = 0x05 
defLength SKEIN512_48 = 0x06 
defLength SKEIN512_56 = 0x07 
defLength SKEIN512_64 = 0x08 
defLength SKEIN512_72 = 0x09 
defLength SKEIN512_80 = 0x0a 
defLength SKEIN512_88 = 0x0b 
defLength SKEIN512_96 = 0x0c 
defLength SKEIN512_104 = 0x0d 
defLength SKEIN512_112 = 0x0e 
defLength SKEIN512_120 = 0x0f 
defLength SKEIN512_128 = 0x10 
defLength SKEIN512_136 = 0x11 
defLength SKEIN512_144 = 0x12 
defLength SKEIN512_152 = 0x13 
defLength SKEIN512_160 = 0x14 
defLength SKEIN512_168 = 0x15 
defLength SKEIN512_176 = 0x16 
defLength SKEIN512_184 = 0x17 
defLength SKEIN512_192 = 0x18 
defLength SKEIN512_200 = 0x19 
defLength SKEIN512_208 = 0x1a 
defLength SKEIN512_216 = 0x1b 
defLength SKEIN512_224 = 0x1c 
defLength SKEIN512_232 = 0x1d 
defLength SKEIN512_240 = 0x1e 
defLength SKEIN512_248 = 0x1f 
defLength SKEIN512_256 = 0x20 
defLength SKEIN512_264 = 0x21 
defLength SKEIN512_272 = 0x22 
defLength SKEIN512_280 = 0x23 
defLength SKEIN512_288 = 0x24 
defLength SKEIN512_296 = 0x25 
defLength SKEIN512_304 = 0x26 
defLength SKEIN512_312 = 0x27 
defLength SKEIN512_320 = 0x28 
defLength SKEIN512_328 = 0x29 
defLength SKEIN512_336 = 0x2a 
defLength SKEIN512_344 = 0x2b 
defLength SKEIN512_352 = 0x2c 
defLength SKEIN512_360 = 0x2d 
defLength SKEIN512_368 = 0x2e 
defLength SKEIN512_376 = 0x2f 
defLength SKEIN512_384 = 0x30 
defLength SKEIN512_392 = 0x31 
defLength SKEIN512_400 = 0x32 
defLength SKEIN512_408 = 0x33 
defLength SKEIN512_416 = 0x34 
defLength SKEIN512_424 = 0x35 
defLength SKEIN512_432 = 0x36 
defLength SKEIN512_440 = 0x37 
defLength SKEIN512_448 = 0x38 
defLength SKEIN512_456 = 0x39 
defLength SKEIN512_464 = 0x3a 
defLength SKEIN512_472 = 0x3b 
defLength SKEIN512_480 = 0x3c 
defLength SKEIN512_488 = 0x3d 
defLength SKEIN512_496 = 0x3e 
defLength SKEIN512_504 = 0x3f 
defLength SKEIN512_512 = 0x40 
defLength SKEIN1024_8 = 0x01 
defLength SKEIN1024_16 = 0x02 
defLength SKEIN1024_24 = 0x03 
defLength SKEIN1024_32 = 0x04 
defLength SKEIN1024_40 = 0x05 
defLength SKEIN1024_48 = 0x06 
defLength SKEIN1024_56 = 0x07 
defLength SKEIN1024_64 = 0x08 
defLength SKEIN1024_72 = 0x09 
defLength SKEIN1024_80 = 0x0a 
defLength SKEIN1024_88 = 0x0b 
defLength SKEIN1024_96 = 0x0c 
defLength SKEIN1024_104 = 0x0d 
defLength SKEIN1024_112 = 0x0e 
defLength SKEIN1024_120 = 0x0f 
defLength SKEIN1024_128 = 0x10 
defLength SKEIN1024_136 = 0x11 
defLength SKEIN1024_144 = 0x12 
defLength SKEIN1024_152 = 0x13 
defLength SKEIN1024_160 = 0x14 
defLength SKEIN1024_168 = 0x15 
defLength SKEIN1024_176 = 0x16 
defLength SKEIN1024_184 = 0x17 
defLength SKEIN1024_192 = 0x18 
defLength SKEIN1024_200 = 0x19 
defLength SKEIN1024_208 = 0x1a 
defLength SKEIN1024_216 = 0x1b 
defLength SKEIN1024_224 = 0x1c 
defLength SKEIN1024_232 = 0x1d 
defLength SKEIN1024_240 = 0x1e 
defLength SKEIN1024_248 = 0x1f 
defLength SKEIN1024_256 = 0x20 
defLength SKEIN1024_264 = 0x21 
defLength SKEIN1024_272 = 0x22 
defLength SKEIN1024_280 = 0x23 
defLength SKEIN1024_288 = 0x24 
defLength SKEIN1024_296 = 0x25 
defLength SKEIN1024_304 = 0x26 
defLength SKEIN1024_312 = 0x27 
defLength SKEIN1024_320 = 0x28 
defLength SKEIN1024_328 = 0x29 
defLength SKEIN1024_336 = 0x2a 
defLength SKEIN1024_344 = 0x2b 
defLength SKEIN1024_352 = 0x2c 
defLength SKEIN1024_360 = 0x2d 
defLength SKEIN1024_368 = 0x2e 
defLength SKEIN1024_376 = 0x2f 
defLength SKEIN1024_384 = 0x30 
defLength SKEIN1024_392 = 0x31 
defLength SKEIN1024_400 = 0x32 
defLength SKEIN1024_408 = 0x33 
defLength SKEIN1024_416 = 0x34 
defLength SKEIN1024_424 = 0x35 
defLength SKEIN1024_432 = 0x36 
defLength SKEIN1024_440 = 0x37 
defLength SKEIN1024_448 = 0x38 
defLength SKEIN1024_456 = 0x39 
defLength SKEIN1024_464 = 0x3a 
defLength SKEIN1024_472 = 0x3b 
defLength SKEIN1024_480 = 0x3c 
defLength SKEIN1024_488 = 0x3d 
defLength SKEIN1024_496 = 0x3e 
defLength SKEIN1024_504 = 0x3f 
defLength SKEIN1024_512 = 0x40 
defLength SKEIN1024_520 = 0x41 
defLength SKEIN1024_528 = 0x42 
defLength SKEIN1024_536 = 0x43 
defLength SKEIN1024_544 = 0x44 
defLength SKEIN1024_552 = 0x45 
defLength SKEIN1024_560 = 0x46 
defLength SKEIN1024_568 = 0x47 
defLength SKEIN1024_576 = 0x48 
defLength SKEIN1024_584 = 0x49 
defLength SKEIN1024_592 = 0x4a 
defLength SKEIN1024_600 = 0x4b 
defLength SKEIN1024_608 = 0x4c 
defLength SKEIN1024_616 = 0x4d 
defLength SKEIN1024_624 = 0x4e 
defLength SKEIN1024_632 = 0x4f 
defLength SKEIN1024_640 = 0x50 
defLength SKEIN1024_648 = 0x51 
defLength SKEIN1024_656 = 0x52 
defLength SKEIN1024_664 = 0x53 
defLength SKEIN1024_672 = 0x54 
defLength SKEIN1024_680 = 0x55 
defLength SKEIN1024_688 = 0x56 
defLength SKEIN1024_696 = 0x57 
defLength SKEIN1024_704 = 0x58 
defLength SKEIN1024_712 = 0x59 
defLength SKEIN1024_720 = 0x5a 
defLength SKEIN1024_728 = 0x5b 
defLength SKEIN1024_736 = 0x5c 
defLength SKEIN1024_744 = 0x5d 
defLength SKEIN1024_752 = 0x5e 
defLength SKEIN1024_760 = 0x5f 
defLength SKEIN1024_768 = 0x60 
defLength SKEIN1024_776 = 0x61 
defLength SKEIN1024_784 = 0x62 
defLength SKEIN1024_792 = 0x63 
defLength SKEIN1024_800 = 0x64 
defLength SKEIN1024_808 = 0x65 
defLength SKEIN1024_816 = 0x66 
defLength SKEIN1024_824 = 0x67 
defLength SKEIN1024_832 = 0x68 
defLength SKEIN1024_840 = 0x69 
defLength SKEIN1024_848 = 0x6a 
defLength SKEIN1024_856 = 0x6b 
defLength SKEIN1024_864 = 0x6c 
defLength SKEIN1024_872 = 0x6d 
defLength SKEIN1024_880 = 0x6e 
defLength SKEIN1024_888 = 0x6f 
defLength SKEIN1024_896 = 0x70 
defLength SKEIN1024_904 = 0x71 
defLength SKEIN1024_912 = 0x72 
defLength SKEIN1024_920 = 0x73 
defLength SKEIN1024_928 = 0x74 
defLength SKEIN1024_936 = 0x75 
defLength SKEIN1024_944 = 0x76 
defLength SKEIN1024_952 = 0x77 
defLength SKEIN1024_960 = 0x78 
defLength SKEIN1024_968 = 0x79 
defLength SKEIN1024_976 = 0x7a 
defLength SKEIN1024_984 = 0x7b 
defLength SKEIN1024_992 = 0x7c 
defLength SKEIN1024_1000 = 0x7d 
defLength SKEIN1024_1008 = 0x7e 
defLength SKEIN1024_1016 = 0x7f 
defLength SKEIN1024_1024 = 0x80 
